/**
 * @Author: zkz
 * @CreateTime: 2025-09-10 16:23:59
 * @Description: 数据请求工具类 axios请求封装处理
 */
import axios from 'axios';
import {getToken,removeToken} from './token';
import router from '@/router';
//  根域名配置
//  超时时间
//  请求拦截处理  / 响应拦截处理
const request = axios.create({
    baseURL: 'http://geek.itheima.net/v1_0',
    timeout:5000,
})
// 请求拦截处理
request.interceptors.request.use(config =>{
    const token = getToken();
    if(token){
        config.headers.Authorization = `Bearer ${token}`;//根据后端接口要求拼接token值
    }
    return config;
},err =>{
    return Promise.reject(err);
})
// 响应拦截处理
request.interceptors.response.use(response =>{
    return response.data;
},err =>{
    //401 token失效处理
    if(err.response.status === 401){
        //清除token
        removeToken();
        //跳转登录页面
        router.navigate('/login') 
         //刷新页面
        window.location.reload();
    }
    return Promise.reject(err);
})


export {request};